﻿Public Class HukukHatirlatmaGiris
	Inherits Process

	Dim Nedenler As String = "0123456789abcdefg"

	Public Overrides Sub GenericEvent(ByVal e As ProcessEventArgs)
		Select Case e.EventType
			Case EventType.Initialize
				Text = "Hatırlatma Giriş/Düzenleme"
				InitialHelp = "Hatırlatma yılı ve numarasını girin. Yeni kayıt için sıra numarasını boş bırakın"
				AddCombo("@yil", "Yıl", "2012|2011|2010", "width=8", "--first--", "Hatırlatma yılını girmelisiniz.")
				AddNumeric("sirano", "Sıra no.", "nl")
				StartBody()
				AddDate("tarih", "Tarih", "nl", YMD(Today.Date))
				AddField("isyerino", "nl")
				AddField("isyeriadi", "colspan=3;nl")
				AddField("adres", "colspan=3;nl")
				AddCombo("imza1", "İmza 1", "1,Bölge amir yrd.|2,Bölge amir yrd. (a)", "width=12", GetSetting("SSD", "Hatirlatma", "Imza1", "1"))
				AddText("imzalayan1", "", "colspan=3;width=20;nl", GetSetting("SSD", "Hatirlatma", "Imzalayan1"))
				AddCombo("imza2", "İmza 2", "1,Bölge amiri|2,Bölge amiri (a)", "width=12", GetSetting("SSD", "Hatirlatma", "Imza2", "1"))
				AddText("imzalayan2", "", "colspan=3;width=20;nl", GetSetting("SSD", "Hatirlatma", "Imzalayan2"))
				AddList()
				List.AddColumns("^ssy(SSY;c;30),^sgy(SGY;c;30),aciklama(Açıklama;l;100%)")
			Case EventType.ValidateForm
				List.Clear()
				List.AddRow(False, False, "İşyerinin tescil edilmemesi")
				List.AddRow(False, False, "İşyerinde çalıştırılan sigortalılar için bilgi verilmemesi")
				List.AddRow(False, False, "Kendi sigorta primlerini ödememesi")
				List.AddRow(False, False, "İşyerinde çalıştırılan sigortalıların primlerini ödememesi")
				List.AddRow(False, False, "İşyerinin nakil bildirgesi verilmemesi")
				List.AddRow(False, False, "Adres değişikliği bildirimi yapılmaması")
				List.AddRow(False, False, "İşyerinin kapatıldığına dair bilgi verilmemesi")
				List.AddRow(False, False, "Ortaklıktan ayrılma bilgisinin verilmemesi")
				List.AddRow(False, False, "Faaliyet konusu değişikliğininin bildirilmemesi")
				List.AddRow(False, False, "Tehlike sınıfı farkının ödenmemesi")
				List.AddRow(False, False, "Çalışanlarla ilgili yalan beyanda bulunulması")
				If IsEmpty("sirano") Then
					If Input("yil") <> Remote.SysDate.Year Then Warning("Geçmiş yıllara ait yeni kayıt giremezsiniz.") : Focus("yil") : Exit Sub
				Else
					Rs = Hukuk.Hatirlatma.Oku(Remote, Window.CurrentLocalDepartment, Input("yil"), Input("sirano"))
					If Rs.EOF Then Warning("Kayıt bulunamadı.") : Focus("sirano") : Exit Sub
					SetValues("tarih,isyerino,isyeriadi,adres", Rs("tarih"), Rs("isyerino"), Rs("isyeriadi"), Rs("adres"))
					SetValues("imza1,imzalayan1,imza2,imzalayan2", Mid(Rs("imza1"), 1, 1), Mid(Rs("imza1"), 2), Mid(Rs("imza2"), 1, 1), Mid(Rs("imza2"), 2))
					For i As Integer = 1 To 2
						Dim Yasa As String = Choose(i, "ssy", "sgy")
						For j As Integer = 1 To Len(IsNull(Rs(Yasa), ""))
							List.Rows(InStr(Nedenler, Mid(Rs(Yasa), j, 1)) - 1).Cells(Yasa).Value = True
						Next
					Next
				End If
				Buttons.Show("Save")
				e.Result = True
			Case EventType.ValidateInput
				If LCase(e.Name) = "isyerino" AndAlso IsDirty("isyerino") AndAlso Not IsEmpty("isyerino") Then
					Rs = Isyeri.IsyeriNoAra(Remote, Input("isyerino"))
					If Rs.EOF Then Warning("İşyeri numarası bulunamadı.") : Focus("isyerino") : Exit Sub
					SetValues("isyeriadi,adres", Trim(Rs("isyeriadi")), Trim(IsNull(Rs("adr"), "")) & " " & Trim(IsNull(Rs("adrsemt"), "")))
				End If
			Case EventType.Save
				If IsEmpty("isyeriadi") Then Warning("İşyeri adı boş olamaz.") : Focus("isyerino") : Exit Sub
				Dim Neden(2) As String
				For Each Row As DataGridViewRow In List.Rows
					If Row.Cells("ssy").Value Then Neden(1) &= Nedenler(Row.Index)
					If Row.Cells("sgy").Value Then Neden(2) &= Nedenler(Row.Index)
				Next
				If Neden(1) = "" And Neden(2) = "" Then Warning("Neden seçimi yapmanız gerekir.") : Focus("List") : Exit Sub
				Input("sirano") = Hukuk.Hatirlatma.Kaydet(Remote, Window.CurrentLocalDepartment, Input("yil"), Input("sirano"), Input("isyerino"), Input("isyeriadi"), Input("adres"), Input("tarih"), Neden(1), Neden(2), Input("imza1") & Input("imzalayan1"), Input("imza2") & Input("imzalayan2"), User.Kaykul)
				SaveSetting("SSD", "Hatirlatma", "Imza1", Input("imza1"))
				SaveSetting("SSD", "Hatirlatma", "Imzalayan1", IsNull(Input("imzalayan1"), ""))
				SaveSetting("SSD", "Hatirlatma", "Imza2", Input("imza2"))
				SaveSetting("SSD", "Hatirlatma", "Imzalayan2", IsNull(Input("imzalayan2"), ""))
				Dim Process As New HukukHatirlatmaGirisDetay
				Process.AddArgument("yil", Input("yil"))
				Process.AddArgument("sirano", Input("sirano"))
				Window.Launch(Process)
				'Process.Run(Window)
		End Select
	End Sub

End Class

Public Class HukukHatirlatmaGirisDetay
	Inherits Process

	Public Overrides Sub GenericEvent(ByVal e As ProcessEventArgs)
		Select Case e.EventType
			Case EventType.Initialize
				Text = "Hatırlatma Bilgileri Raporu"
				AddReport()
				Rs = Hukuk.Hatirlatma.Oku(Remote, Window.CurrentLocalDepartment, Arguments("yil"), Arguments("sirano"))
			Case EventType.Shown
				Report.Begin()
			Case EventType.CoverPage
				For i As Integer = 1 To 2
					Dim Neden As String = IsNull(Rs(Choose(i, "ssy", "sgy")), "")
					If Neden <> "" Then
						Report.PrintDocHeader(Upper(Department.Definition), "HATIRLATMA")
						Report.SetColumns("", "1;1", "l;r", "+").Print("Sayı : " & Rs("yil") & "/" & Rs("sirano"), "Tarih : " & DMY(Rs("tarih")))
						If Rs("isyerino") <> "" Then Report.Print("Sicil No. :" & Mid(Rs("isyerino"), 1, 1) & "/" & Mid(Rs("isyerino"), 2))
						Report.SkipLine()
						Report.PrintParagraph("Sayın " & Rs("isyeriadi")).PrintParagraph(IsNull(Rs("adres"), "")).SkipLine()
						Dim Yasa As String = Choose(i, "16/1976", "73/2007") & " sayılı Kıbrıs Türk Sosyal " & Choose(i, "Sigortalar", "Güvenlik") & " Yasası"
						Dim Maddeler As String = Choose(i, "10. 11. ve 90.", "9.  10. 13. ve 86.") & " maddeler"
						Report.PrintParagraph("Değiştirilmiş şekliyle " & Yasa & "'nın " & Maddeler & "i hükümleri gereğince,").SkipLine()
						For j As Integer = 1 To Len(Neden)
							Dim Text As String = ""
							Select Case Mid(Neden, j, 1)
								Case "0" : Text = "İşyerini tescil ettirmediğiniz"
								Case "1" : Text = "İşyerinizde/işinizde çalıştırmakta olduğunuz sigortalılar için Dairemize bildirge vermediğiniz"
								Case "2" : Text = "Kendinizin sigorta primlerini ödemediğiniz"
								Case "3" : Text = "İşyerinizde/işinizde çalıştırmakta olduğunuz sigortalıların sigorta primlerini ödemediğiniz"
								Case "4" : Text = "İşyerinin nakil bildirgesini vermediğiniz"
								Case "5" : Text = "Adres değişikliği bildirimini yapmadığınız"
								Case "6" : Text = "İşyerinizi kapattığınıza dair Dairemize bildirge vermediğiniz"
								Case "7" : Text = "Ortaklıktan ayrıldığınıza dair Dairemize bilgi vermediğiniz"
								Case "8" : Text = "Faaliyet konusu değişikliğini bildirmediğiniz"
								Case "9" : Text = "Tehlike sınıfından doğan farkı ödemediğiniz"
								Case "a" : Text = "Çalışanlarla ilgili yalan beyanda bulunduğunuz"
							End Select
							Report.PrintParagraph("• " & Text & If(j < Len(Neden), ";", " tespit edilmiştir."))
						Next
						Report.SkipLine()
						Report.PrintParagraph("Yukarda belirtilen yükümleri en geç 15 gün içinde yerine getirmediğiniz takdirde Yasa'nın " & _
						  Choose(i, "158", "130") & ". maddesi uyarınca hakkınızda yasal kovuşturma başlatılacağını tarafınıza bildiririz.")	'.SkipLine()
						Report.PrintParagraph("Sosyal " & Choose(i, "Sigortalar", "Güvenlik") & " Yasası gereğince yükümlülüklerinizi yerine getirmemekten dolayı aleyhinize yasal kovuşturma başlatılması " & _
						  "halinde, prim borçlarınıza ek olarak Mahkeme tarafından aleyhinize verilecek herhangi bir cezayı ve avukat masraflarını da ödemek zorunda kalacağınızı önemle bildiririz.")
						Report.SkipLine(2).SetColumns("", "2;1;2", "c;c;c").Print("...........................................", "", "...........................................")
						Report.Print(Mid(Rs("imza1"), 2), "", Mid(Rs("imza2"), 2)).Print("Bölge Amir Yrd." & If(Mid(Rs("imza1"), 1, 1) = "1", "", " (a)"), "", "Bölge Amiri" & If(Mid(Rs("imza2"), 1, 1) = "1", "", " (a)"), "")
						Report.PrintFlexible()
						Report.PrintParagraph("(Form SS 101)")
						Report.EndPage()
						Report.NewPage()
					End If
				Next
		End Select
	End Sub

End Class
